/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import Entidades.VentaEnt;
import Utilidades.Conexion;
import Utilidades.Constantes;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author usuario
 */
public class VentaDAO {
    
    Conexion con;
    Connection connect;
    
       
    
    public int ingresarVenta(VentaEnt venta) throws SQLException{
    
        int ingresar = 0;
        con = new Conexion();
        connect = con.getCon();
 
        try {
            
            PreparedStatement st = connect.prepareStatement(Constantes.INSERT_VENTAS);           

            st.setInt(1, venta.getValor());
            st.setString(2, venta.getCliente());
  
            st.executeUpdate();
            ingresar = 1;
            connect.close();
        } catch (SQLException ex) {
            Logger.getLogger(VentaDAO.class.getName()).log(Level.SEVERE, null, ex);
            connect.close();
        }
        
        return ingresar;
    }
    
        
     public List<VentaEnt> busquedaVentas(VentaEnt entVenta) throws SQLException{
    
         List<VentaEnt>  lstVenta = new ArrayList<VentaEnt>();
         VentaEnt venta;
         con = new Conexion();
         connect = con.getCon();
         SimpleDateFormat formato = new SimpleDateFormat("yyyy/dd/mm");
        try {
            
            PreparedStatement st = connect.prepareStatement(Constantes.CONSULTAR_VENTAS_POR_FECHA);
            
            st.setString(1, entVenta.getStrFechaInicio());
            st.setString(2, entVenta.getStrFechaFin());
            
            ResultSet rs = st.executeQuery();
            
            if(rs != null){
                while (rs.next()) {
                    
                    venta = new VentaEnt();
                    
                    venta.setCliente(rs.getString("CLIENTE"));
                    venta.setCodigo(rs.getInt("CODIGO"));
                    venta.setFecha(rs.getDate("FECHA"));
                    
                    venta.setStrFecha(formato.format(venta.getFecha()));
                    venta.setValor(rs.getInt("VALOR"));
                    
                    lstVenta.add(venta);
                }
            }
            connect.close();
            
        } catch (SQLException ex) {
            
            Logger.getLogger(VentaDAO.class.getName()).log(Level.SEVERE, null, ex);
            connect.close();
        }
        
        return lstVenta;
    }
     
   
   public int actualizarVenta(VentaEnt venta) throws SQLException{
    
        int ingresar = 0;
        con = new Conexion();
        connect = con.getCon();
 
        try {
            
            PreparedStatement st = connect.prepareStatement(Constantes.ACTUALIZAR_VENTAS);
           
            st.setInt(1, venta.getValor());
            st.setString(2, venta.getCliente());
      
            st.executeUpdate();
            ingresar = 1;
            connect.close();
       
        } catch (SQLException ex) {
            
            Logger.getLogger(VentaDAO.class.getName()).log(Level.SEVERE, null, ex);
            connect.close();
            
        }
        
        return ingresar;
    }
    
}
